//操作符2
#include<stdio.h>
int main()
{
    int a=0;
    printf ("%d\n",~a);//输出 -1
    //~ 按位(二进制)取反,1变0,0变1,(反码)
    //0(0000,0000,0000,0000,0000,0000,0000,0000)(原码)按位取反变成 (1111,11111,11111,11111,11111,11111,1111,1111)(-1补码)
        // int整数在内存中存储是补码
    // -1                                 对于负数
    // 100000000000000000000001(原码)//第一个为符号位,0为正,1为负
    // 111111111111111111111110(反码)//原码除符号位不变,其他相反
    // 111111111111111111111111(补码)//反码加一
    //正整数 原码,反码,补码 相同
    // int b=++a ;//前置++ - 先++后使用//先a=a+1,后b=a
    // printf("%d\n",b);//1
    // printf("%d\n",a);//1
    int b=a++ ;//后置++ - 先b=a,后a=a+1
    printf("%d\n",b);//1
    printf("%d\n",a);//1
   
    //(类型) - 强制类型转换,把后面的内容变为()里的类型
   float m = (int)3.4;//3.4 - 3 - 3.00000

   printf("%f\n",m);

    //逻辑操作符
    //&& 逻辑和 相当于py中and,全真为真
    //|| 逻辑或 相当于py中or,有真为真

    //条件操作符(三目操作符)  ? :
    //exp1 ? exp2 :exp3
    //exp1成立,整个表达式结果为exp2的结果
    //exp1不成立,整个表达式结果为exp3的结果
    int x=2;
    int y=4;
    int max=0;
    max =x>y? x:y;
// //相当于
//     if (x>y)
//         max=x;
//     else
//         max =y;
    


    return 0;
}